package com.jz.netthings.analysis.mapper;

import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.jz.netthings.analysis.bean.link.NurseLinkProviderStatistics;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author 杨云云
 * @since 2019-08-29
 */
public interface NurseLinkProviderStatisticsMapper extends BaseMapper<NurseLinkProviderStatistics> {

    /**
     * 查询某些浆员在某个时间段内的进站人数
     * @param providerList
     * @param beginTime
     * @param endTime
     * @return
     */
    Integer getProviderComedPCount(@Param("providerList") List<Long> providerList, @Param("beginTime") String beginTime, @Param("endTime") String endTime);
    /**
     * 查询某些浆员在某个时间段内的进站浆员集合
     * @param providerList
     * @param beginTime
     * @param endTime
     * @return
     */
    List<Long> getProviderComedPList(@Param("providerList") List<Long> providerList, @Param("beginTime") String beginTime, @Param("endTime") String endTime);

    /**
     * 查询某些浆员在某个时间段内建档的浆员集合
     * @param providerList
     * @param beginTime
     * @param endTime
     * @return
     */
    List<Long> getProviderCreateList(@Param("providerList") List<Long> providerList, @Param("beginTime") String beginTime, @Param("endTime") String endTime);

    /**
     * 查询某个护士管理的义工数量
     * @param linkNurseId
     * @return
     */
    Integer getLinkUseVolunteeCount(@Param("linkNurseId")Integer linkNurseId);
    /**
     * 查询某个护士下面的义工管理的浆员数量
     * @param linkNurseId
     * @return
     */
    Integer getLinkUseVolunteePCount(@Param("linkNurseId")Integer linkNurseId);

    /**
     * 查询某些浆员中卡号为R的浆员集合
     * @param providerList
     * @return
     */
    List<Long> getRCardPList(@Param("providerList") List<Long> providerList);

    /**
     * 查询某些浆员中有五步链接记录的浆员集合
     * @param providerList
     * @return
     */
    List<Long> getHasFiveLinkPList(@Param("providerList") List<Long> providerList);

    /**
     * 查询某些浆员，根据村落分组，每个村落的人数
     * @param providerList
     * @return
     */
    List<Map<String, String>> selectPCountGroupByVill(@Param("providerList") List<Long> providerList);
}
